package com.iwhalecloud.citybrain.flow.platform.manager.infrastructure.mapper;

import java.util.List;

import com.iwhalecloud.citybrain.flow.platform.manager.domain.model.calendar.WorkingDayQueryVo;
import com.iwhalecloud.citybrain.flow.platform.manager.infrastructure.entities.FlowWorkingDay;
import com.iwhalecloud.citybrain.flow.platform.manager.infrastructure.entities.FlowWorkingDayWeek;
import org.apache.ibatis.annotations.Param;

/**
 * @author wuliepeng
 * @date 2019-07-18
 */
public interface WorkingDayDAO {

    /**
     * 插入多条工作日设置记录
     *
     * @param flowWorkingDayWeeks
     * @return
     */
    Integer insertWorkingDayWeekBatch(@Param("flowWorkingDayWeeks") List<FlowWorkingDayWeek> flowWorkingDayWeeks);

    /**
     * 插入多条节假日和例外设置详细信息
     *
     * @param flowWorkingDays
     * @return
     */
    Integer insertWorkingDayBatch(@Param("flowWorkingDays") List<FlowWorkingDay> flowWorkingDays);

    /**
     * 获取节假日和例外设置详细信息
     *
     * @param workingDayQueryVo
     * @return
     */
    List<FlowWorkingDay> listOffDayAndException(@Param("workingDayQueryVo") WorkingDayQueryVo workingDayQueryVo);

    /**
     * 删除某年某月份的节假日和例外设置信息
     *
     * @param deleteMonths 日期
     * @return
     */
    Integer deleteWorkingDay(@Param("deleteMonths") List<String> deleteMonths);
}
